﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Billing
{
    public class UserException : Exception
    {
        public enum eLogInError
        {
            // Fields
            InvalidLastConnection = -12,
            InvalidPWD = -11,
            InvalidUserName = -10,
            AlredyAuthorized = -13,
            OldVersion = -14,
            ProgWorkLocalModeinvalidpwd = -110,
            ProgWorkLocalModeinvalidUser = -100,
            LogOnIsDenyed = -150,
            UnknowError = -255
        }
        private eLogInError p_LogInError;

        public eLogInError LogInError
        {
            get { return p_LogInError; }
        }
        public UserException(UserException.eLogInError LogInError)
        {
            this.p_LogInError = LogInError;
        }

        public override string Message
        {
            get
            {
                // string text1;
                switch (this.p_LogInError)
                {
                    case eLogInError.InvalidLastConnection:
                        return "Invalid last connection";
                    // break;
                    case eLogInError.InvalidPWD:
                        return "მომხმარებლის პაროლი არასწორია";
                    // break;
                    case eLogInError.InvalidUserName:
                        return "მომხმარებლის სახელი არასწორია";
                    // break;
                    case eLogInError.AlredyAuthorized:
                        return "მომხმარებელი ავტორიზირებულია სხვა ადგილიდან";
                    //  break;
                    case eLogInError.ProgWorkLocalModeinvalidpwd:
                        return "პროგრამა მუშაობს ლოკალურ რეჟიმში, ბოლო მომხმარებლის პაროლი არასწორია";
                    // break;
                    case eLogInError.ProgWorkLocalModeinvalidUser:
                        return "პროგრამა მუშაობს ლოკალურ რეჟიმში, ბოლო მომხმარებლის სახელი არასწორია";
                    case eLogInError.OldVersion:
                        return "განაახლეთ პროგრამის ვერსია";
                    //  break;
                    case eLogInError.UnknowError:
                        return "Unknow error";
                    case eLogInError.LogOnIsDenyed:
                        return "მომხმარებელს არა აქვს ამ პროგრამაში შესვლის უფლება";
                    default:
                        return "Unknow error";
                }
            }
        }
    }
}
